package com.lizi.textView;

import android.app.AlertDialog;
import android.content.DialogInterface;
import android.os.Bundle;
import android.app.Activity;
import android.widget.TextView;
import android.view.View;
import java.util.Calendar;
import java.util.Date;
import java.util.Locale;
import android.widget.Button;
import android.widget.DatePicker;
import android.view.View.OnClickListener;
import android.app.DatePickerDialog;



public class DatePickerDialogExample extends Activity {
    
	 private TextView showdate;
	    private Button setdate;
	    private int year;
	    private int month;
	    private int day;
	    

	    @Override
	    public void onCreate(Bundle savedInstanceState)
	    {
	        super.onCreate(savedInstanceState);
	        setContentView(R.layout.main);
	        
	        showdate=(TextView) this.findViewById(R.id.showtime);
	        setdate=(Button) this.findViewById(R.id.setdate);
	        //初始化Calendar日历对象
	        Calendar c=Calendar.getInstance(Locale.CHINA);
	        Date mydate=new Date(); //获取当前日期Date对象
	       c.setTime(mydate);////为Calendar对象设置时间为当前日期
	        
	        year=c.get(Calendar.YEAR); //获取Calendar对象中的年
	        month=c.get(Calendar.MONTH);//获取Calendar对象中的月
	        day=c.get(Calendar.DAY_OF_MONTH);//获取这个月的第几天
	        showdate.setText("当前日期:"+year+"-"+(month+1)+"-"+day); //显示当前的年月日
	        
	        //添加单击事件--设置日期
	        setdate.setOnClickListener(new OnClickListener(){
	            
	            @Override
	            public void onClick(View v)
	            {
	               
	                //创建DatePickerDialog对象
	                DatePickerDialog my_datePickerDialog=new DatePickerDialog(DatePickerDialogExample.this,Datelistener,year,month,day);
	                my_datePickerDialog.show();//显示DatePickerDialog组件
	            }
	        });


	        
	    }
	    private DatePickerDialog.OnDateSetListener Datelistener=new DatePickerDialog.OnDateSetListener() {

            @Override
            public void onDateSet(DatePicker v, final int y, int m, int d) {


                //修改year、month、day的变量值，以便以后单击按钮时，DatePickerDialog上显示上一次修改后的值
                if (year >= y && month >= m && day >= d) {
                    year = y;
                    month = m;
                    day = d;
                    //更新日期
                    updateDate();
                } else {
					final AlertDialog.Builder dialog = new AlertDialog.Builder(DatePickerDialogExample.this);
					dialog.setIcon(android.R.drawable.ic_dialog_info);
					dialog.setTitle("提示");// 可写在strings里面
					dialog.setMessage("修改日期大于当前日期，是否继续？");
					DialogInterface.OnClickListener click1= new DialogInterface.OnClickListener() {
						//撤销会话弹窗
						@Override
						public void onClick(DialogInterface dialog, int which) {
							dialog.cancel();
						}
					};
					dialog.setPositiveButton("是",click1);
					DialogInterface.OnClickListener click2=new DialogInterface.OnClickListener() {

						@Override
						public void onClick(DialogInterface dialog, int which) {
							//结束进程
							android.os.Process.killProcess(android.os.Process.myPid());
						}
					};
					dialog.setNegativeButton("否",click2);
					dialog.create();
					dialog.show();

					//点“否”不会到达这里
					year = y;
					month = m;
					day = d;
					updateDate();

				}
            }
                //当DatePickerDialog关闭时，更新日期显示

            private void updateDate() {
                //在TextView上显示日期
                showdate.setText("当前日期：" + year + "-" + (month + 1) + "-" + day);
            }
		};
}

